/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * NewJFrame.java
 *
 * Created on Aug 28, 2010, 3:47:06 PM
 */

package br.upe.ecomp.dosa.view.mainwindow;

/**
 *
 * @author rodrigo
 */
public class MainWindow extends javax.swing.JFrame {

    /** Creates new form NewJFrame */
    public MainWindow() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        toolBarPanel = new javax.swing.JPanel();
        toolBar = new javax.swing.JToolBar();
        newToolBarButton = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JToolBar.Separator();
        openToolBarButton = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JToolBar.Separator();
        saveToolBarButton = new javax.swing.JButton();
        jSeparator3 = new javax.swing.JToolBar.Separator();
        startSimulationToolBarButton = new javax.swing.JButton();
        tabbedPane = new javax.swing.JTabbedPane();
        panelTestScenario = new javax.swing.JPanel();
        panelTestScenarioInit = new javax.swing.JPanel();
        newTestScenarioButton = new javax.swing.JButton();
        openTestScenarioButton = new javax.swing.JButton();
        panelAlgorithm = new javax.swing.JPanel();
        splitPaneAlgorithm = new javax.swing.JSplitPane();
        scrollPaneTree = new javax.swing.JScrollPane();
        tree = new javax.swing.JTree();
        scrollPaneTable = new javax.swing.JScrollPane();
        table = new javax.swing.JTable();
        panelResults = new javax.swing.JPanel();
        resultsSplitPane = new javax.swing.JSplitPane();
        configChartPanel = new javax.swing.JPanel();
        chartPanel = new javax.swing.JPanel();
        boxplotPanel = new javax.swing.JPanel();
        resultsDirectoryLabel = new javax.swing.JLabel();
        resultDirectoryTextField = new javax.swing.JTextField();
        resultDirectoryButton = new javax.swing.JButton();
        measurementResultLabel = new javax.swing.JLabel();
        measurementResultComboBox = new javax.swing.JComboBox();
        stepResultLabel = new javax.swing.JLabel();
        stepResultTextField = new javax.swing.JTextField();
        createBoxplotChartButton = new javax.swing.JButton();
        logarithmicResultCheckBox = new javax.swing.JCheckBox();
        lineChartPanel = new javax.swing.JPanel();
        resultFileLabel = new javax.swing.JLabel();
        resultFileTextField = new javax.swing.JTextField();
        resultFileButton = new javax.swing.JButton();
        measurementLineResultLabel = new javax.swing.JLabel();
        measurementLineResultComboBox = new javax.swing.JComboBox();
        stepLineResultLabel = new javax.swing.JLabel();
        stepLineResultTextField = new javax.swing.JTextField();
        createLineChartButton = new javax.swing.JButton();
        exportButton = new javax.swing.JButton();
        chartTypePanel = new javax.swing.JPanel();
        chartTypeLabel = new javax.swing.JLabel();
        chartTypeComboBox = new javax.swing.JComboBox();
        menuBar = new javax.swing.JMenuBar();
        menuFile = new javax.swing.JMenu();
        menuItemExit = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(679, 300));
        getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));

        toolBarPanel.setLayout(new java.awt.GridLayout(1, 0, 0, 5));

        toolBar.setFloatable(false);
        toolBar.setRollover(true);
        toolBar.setMaximumSize(new java.awt.Dimension(65, 32));
        toolBar.setMinimumSize(new java.awt.Dimension(65, 32));
        toolBar.setPreferredSize(new java.awt.Dimension(65, 32));

        newToolBarButton.setBackground(new java.awt.Color(128, 128, 128));
        newToolBarButton.setForeground(new java.awt.Color(128, 128, 128));
        newToolBarButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/new.png")));
        newToolBarButton.setToolTipText("New");
        newToolBarButton.setBorderPainted(false);
        newToolBarButton.setFocusable(false);
        newToolBarButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        newToolBarButton.setMaximumSize(new java.awt.Dimension(32, 32));
        newToolBarButton.setMinimumSize(new java.awt.Dimension(32, 32));
        newToolBarButton.setPreferredSize(new java.awt.Dimension(32, 32));
        newToolBarButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        newToolBarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                newToolBarButtonActionPerformed(evt);
            }
        });
        toolBar.add(newToolBarButton);
        toolBar.add(jSeparator1);

        openToolBarButton.setBackground(new java.awt.Color(128, 128, 128));
        openToolBarButton.setForeground(new java.awt.Color(128, 128, 128));
        openToolBarButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/open.png")));
        openToolBarButton.setToolTipText("Open");
        openToolBarButton.setBorderPainted(false);
        openToolBarButton.setFocusable(false);
        openToolBarButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        openToolBarButton.setMaximumSize(new java.awt.Dimension(32, 32));
        openToolBarButton.setMinimumSize(new java.awt.Dimension(32, 32));
        openToolBarButton.setPreferredSize(new java.awt.Dimension(32, 32));
        openToolBarButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        openToolBarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                openToolBarButtonActionPerformed(evt);
            }
        });
        toolBar.add(openToolBarButton);
        toolBar.add(jSeparator2);

        saveToolBarButton.setBackground(new java.awt.Color(128, 128, 128));
        saveToolBarButton.setForeground(new java.awt.Color(128, 128, 128));
        saveToolBarButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/save.png")));
        saveToolBarButton.setToolTipText("Save");
        saveToolBarButton.setBorderPainted(false);
        saveToolBarButton.setFocusable(false);
        saveToolBarButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        saveToolBarButton.setMaximumSize(new java.awt.Dimension(32, 32));
        saveToolBarButton.setMinimumSize(new java.awt.Dimension(32, 32));
        saveToolBarButton.setPreferredSize(new java.awt.Dimension(32, 32));
        saveToolBarButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        saveToolBarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                saveToolBarButtonActionPerformed(evt);
            }
        });
        toolBar.add(saveToolBarButton);
        toolBar.add(jSeparator3);

        startSimulationToolBarButton.setBackground(new java.awt.Color(128, 128, 128));
        startSimulationToolBarButton.setForeground(new java.awt.Color(128, 128, 128));
        startSimulationToolBarButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/start.png")));
        startSimulationToolBarButton.setToolTipText("Start simulation");
        startSimulationToolBarButton.setBorderPainted(false);
        startSimulationToolBarButton.setFocusable(false);
        startSimulationToolBarButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        startSimulationToolBarButton.setMaximumSize(new java.awt.Dimension(32, 32));
        startSimulationToolBarButton.setMinimumSize(new java.awt.Dimension(32, 32));
        startSimulationToolBarButton.setPreferredSize(new java.awt.Dimension(32, 32));
        startSimulationToolBarButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        startSimulationToolBarButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                startSimulationToolBarButtonActionPerformed(evt);
            }
        });
        toolBar.add(startSimulationToolBarButton);

        toolBarPanel.add(toolBar);

        getContentPane().add(toolBarPanel);

        panelTestScenario.setLayout(new java.awt.CardLayout());

        panelTestScenarioInit.setLayout(new java.awt.GridLayout(2, 2, 0, 30));

        newTestScenarioButton.setBackground(new java.awt.Color(128, 128, 128));
        newTestScenarioButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/new.png")));
        newTestScenarioButton.setText("Create Test Scenario");
        newTestScenarioButton.setToolTipText("Create Test Scenario");
        newTestScenarioButton.setBorderPainted(false);
        newTestScenarioButton.setFocusable(false);
        newTestScenarioButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        newTestScenarioButton.setMaximumSize(new java.awt.Dimension(32, 32));
        newTestScenarioButton.setMinimumSize(new java.awt.Dimension(32, 32));
        newTestScenarioButton.setPreferredSize(new java.awt.Dimension(32, 32));
        newTestScenarioButton.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
        newTestScenarioButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        newTestScenarioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                newTestScenarioButtonActionPerformed(evt);
            }
        });
        panelTestScenarioInit.add(newTestScenarioButton);

        openTestScenarioButton.setBackground(new java.awt.Color(128, 128, 128));
        openTestScenarioButton.setIcon(new javax.swing.ImageIcon(ClassLoader.getSystemResource("images/open.png")));
        openTestScenarioButton.setText("Open Test Scenario");
        openTestScenarioButton.setToolTipText("Open");
        openTestScenarioButton.setBorderPainted(false);
        openTestScenarioButton.setFocusable(false);
        openTestScenarioButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        openTestScenarioButton.setMaximumSize(new java.awt.Dimension(32, 32));
        openTestScenarioButton.setMinimumSize(new java.awt.Dimension(32, 32));
        openTestScenarioButton.setPreferredSize(new java.awt.Dimension(32, 32));
        openTestScenarioButton.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        openTestScenarioButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        openTestScenarioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                openTestScenarioButtonActionPerformed(evt);
            }
        });
        panelTestScenarioInit.add(openTestScenarioButton);

        panelTestScenario.add(panelTestScenarioInit, "card3");

        panelAlgorithm.setLayout(new java.awt.GridLayout(1, 0));

        splitPaneAlgorithm.setDividerLocation(150);
        splitPaneAlgorithm.setDividerSize(5);
        splitPaneAlgorithm.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);

        scrollPaneTree.setViewportView(tree);

        splitPaneAlgorithm.setTopComponent(scrollPaneTree);

        table.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        scrollPaneTable.setViewportView(table);

        splitPaneAlgorithm.setRightComponent(scrollPaneTable);

        panelAlgorithm.add(splitPaneAlgorithm);

        panelTestScenario.add(panelAlgorithm, "card2");

        tabbedPane.addTab("Simulation", panelTestScenario);

        panelResults.setLayout(new java.awt.GridLayout(1, 0));

        resultsSplitPane.setDividerLocation(350);

        chartPanel.setLayout(new java.awt.CardLayout());

        resultsDirectoryLabel.setText("Results directory:");

        resultDirectoryButton.setText("Browse...");
        resultDirectoryButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                resultDirectoryButtonActionPerformed(evt);
            }
        });

        measurementResultLabel.setText("Measurement:");

        stepResultLabel.setText("Step:");

        createBoxplotChartButton.setText("Create Chart");
        createBoxplotChartButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                createBoxplotChartButtonActionPerformed(evt);
            }
        });

        logarithmicResultCheckBox.setText("Use logarithmic Y axis");

        org.jdesktop.layout.GroupLayout boxplotPanelLayout = new org.jdesktop.layout.GroupLayout(boxplotPanel);
        boxplotPanel.setLayout(boxplotPanelLayout);
        boxplotPanelLayout.setHorizontalGroup(
            boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(boxplotPanelLayout.createSequentialGroup()
                .add(boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(logarithmicResultCheckBox, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(boxplotPanelLayout.createSequentialGroup()
                        .add(11, 11, 11)
                        .add(boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(resultsDirectoryLabel)
                            .add(boxplotPanelLayout.createSequentialGroup()
                                .add(resultDirectoryTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 186, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(resultDirectoryButton)))
                        .add(9, 9, 9)))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .add(org.jdesktop.layout.GroupLayout.TRAILING, boxplotPanelLayout.createSequentialGroup()
                .addContainerGap(192, Short.MAX_VALUE)
                .add(createBoxplotChartButton)
                .addContainerGap())
            .add(boxplotPanelLayout.createSequentialGroup()
                .add(9, 9, 9)
                .add(boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(measurementResultComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 290, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(measurementResultLabel)
                    .add(stepResultLabel)
                    .add(stepResultTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(32, Short.MAX_VALUE))
        );
        boxplotPanelLayout.setVerticalGroup(
            boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(boxplotPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(resultsDirectoryLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(boxplotPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(resultDirectoryTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(resultDirectoryButton))
                .add(18, 18, 18)
                .add(measurementResultLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(measurementResultComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(stepResultLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(stepResultTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(logarithmicResultCheckBox)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(createBoxplotChartButton)
                .addContainerGap(27, Short.MAX_VALUE))
        );

        chartPanel.add(boxplotPanel, "card2");

        resultFileLabel.setText("Result file:");

        resultFileButton.setText("Browse...");
        resultFileButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                resultFileButtonActionPerformed(evt);
            }
        });

        measurementLineResultLabel.setText("Measurement:");

        stepLineResultLabel.setText("Step:");

        createLineChartButton.setText("Create Chart");
        createLineChartButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                createLineChartButtonActionPerformed(evt);
            }
        });

        exportButton.setText("Export");
        exportButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exportButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout lineChartPanelLayout = new org.jdesktop.layout.GroupLayout(lineChartPanel);
        lineChartPanel.setLayout(lineChartPanelLayout);
        lineChartPanelLayout.setHorizontalGroup(
            lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(lineChartPanelLayout.createSequentialGroup()
                .add(9, 9, 9)
                .add(lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(resultFileLabel)
                    .add(lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(lineChartPanelLayout.createSequentialGroup()
                            .add(resultFileTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 186, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(resultFileButton))
                        .add(org.jdesktop.layout.GroupLayout.LEADING, measurementLineResultLabel)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, stepLineResultLabel)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, stepLineResultTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(lineChartPanelLayout.createSequentialGroup()
                                .add(exportButton)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(createLineChartButton))
                            .add(measurementLineResultComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 290, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                .add(27, 27, 27))
        );
        lineChartPanelLayout.setVerticalGroup(
            lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, lineChartPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(resultFileLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(resultFileTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(resultFileButton))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(measurementLineResultLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(measurementLineResultComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(stepLineResultLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(stepLineResultTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(lineChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(createLineChartButton)
                    .add(exportButton))
                .add(77, 77, 77))
        );

        chartPanel.add(lineChartPanel, "card3");

        chartTypeLabel.setText("Chart:");

        org.jdesktop.layout.GroupLayout chartTypePanelLayout = new org.jdesktop.layout.GroupLayout(chartTypePanel);
        chartTypePanel.setLayout(chartTypePanelLayout);
        chartTypePanelLayout.setHorizontalGroup(
            chartTypePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(chartTypePanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(chartTypeLabel)
                .add(11, 11, 11)
                .add(chartTypeComboBox, 0, 245, Short.MAX_VALUE)
                .addContainerGap())
        );
        chartTypePanelLayout.setVerticalGroup(
            chartTypePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, chartTypePanelLayout.createSequentialGroup()
                .addContainerGap(20, Short.MAX_VALUE)
                .add(chartTypePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(chartTypeComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(chartTypeLabel))
                .addContainerGap())
        );

        org.jdesktop.layout.GroupLayout configChartPanelLayout = new org.jdesktop.layout.GroupLayout(configChartPanel);
        configChartPanel.setLayout(configChartPanelLayout);
        configChartPanelLayout.setHorizontalGroup(
            configChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, configChartPanelLayout.createSequentialGroup()
                .add(configChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, chartPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 331, Short.MAX_VALUE)
                    .add(chartTypePanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        configChartPanelLayout.setVerticalGroup(
            configChartPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(configChartPanelLayout.createSequentialGroup()
                .add(chartTypePanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(chartPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        resultsSplitPane.setLeftComponent(configChartPanel);

        panelResults.add(resultsSplitPane);

        tabbedPane.addTab("Results", panelResults);

        getContentPane().add(tabbedPane);
        tabbedPane.getAccessibleContext().setAccessibleName("Algorithm");

        menuBar.setBackground(new java.awt.Color(128, 128, 128));
        menuBar.setInheritsPopupMenu(true);
        menuBar.setName("menu"); // NOI18N

        menuFile.setBackground(new java.awt.Color(128, 128, 128));
        menuFile.setText("File");
        menuFile.setFont(new java.awt.Font("Lucida Grande", 1, 14));
        menuFile.setHideActionText(true);
        menuFile.setVerifyInputWhenFocusTarget(false);

        menuItemExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.META_MASK));
        menuItemExit.setText("Exit");
        menuItemExit.setToolTipText("Exit");
        menuFile.add(menuItemExit);

        menuBar.add(menuFile);

        setJMenuBar(menuBar);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void openToolBarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openToolBarButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_openToolBarButtonActionPerformed

    private void newToolBarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newToolBarButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_newToolBarButtonActionPerformed

    private void saveToolBarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveToolBarButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_saveToolBarButtonActionPerformed

    private void startSimulationToolBarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_startSimulationToolBarButtonActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_startSimulationToolBarButtonActionPerformed

    private void newTestScenarioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newTestScenarioButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_newTestScenarioButtonActionPerformed

    private void openTestScenarioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openTestScenarioButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_openTestScenarioButtonActionPerformed

    private void resultDirectoryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resultDirectoryButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_resultDirectoryButtonActionPerformed

    private void createBoxplotChartButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_createBoxplotChartButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_createBoxplotChartButtonActionPerformed

    private void resultFileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resultFileButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_resultFileButtonActionPerformed

    private void createLineChartButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_createLineChartButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_createLineChartButtonActionPerformed

    private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_exportButtonActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MainWindow().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    protected javax.swing.JPanel boxplotPanel;
    protected javax.swing.JPanel chartPanel;
    protected javax.swing.JComboBox chartTypeComboBox;
    protected javax.swing.JLabel chartTypeLabel;
    protected javax.swing.JPanel chartTypePanel;
    protected javax.swing.JPanel configChartPanel;
    protected javax.swing.JButton createBoxplotChartButton;
    protected javax.swing.JButton createLineChartButton;
    protected javax.swing.JButton exportButton;
    protected javax.swing.JToolBar.Separator jSeparator1;
    protected javax.swing.JToolBar.Separator jSeparator2;
    protected javax.swing.JToolBar.Separator jSeparator3;
    protected javax.swing.JPanel lineChartPanel;
    protected javax.swing.JCheckBox logarithmicResultCheckBox;
    protected javax.swing.JComboBox measurementLineResultComboBox;
    protected javax.swing.JLabel measurementLineResultLabel;
    protected javax.swing.JComboBox measurementResultComboBox;
    protected javax.swing.JLabel measurementResultLabel;
    protected javax.swing.JMenuBar menuBar;
    protected javax.swing.JMenu menuFile;
    protected javax.swing.JMenuItem menuItemExit;
    protected javax.swing.JButton newTestScenarioButton;
    protected javax.swing.JButton newToolBarButton;
    protected javax.swing.JButton openTestScenarioButton;
    protected javax.swing.JButton openToolBarButton;
    protected javax.swing.JPanel panelAlgorithm;
    protected javax.swing.JPanel panelResults;
    protected javax.swing.JPanel panelTestScenario;
    protected javax.swing.JPanel panelTestScenarioInit;
    protected javax.swing.JButton resultDirectoryButton;
    protected javax.swing.JTextField resultDirectoryTextField;
    protected javax.swing.JButton resultFileButton;
    protected javax.swing.JLabel resultFileLabel;
    protected javax.swing.JTextField resultFileTextField;
    protected javax.swing.JLabel resultsDirectoryLabel;
    protected javax.swing.JSplitPane resultsSplitPane;
    protected javax.swing.JButton saveToolBarButton;
    protected javax.swing.JScrollPane scrollPaneTable;
    protected javax.swing.JScrollPane scrollPaneTree;
    protected javax.swing.JSplitPane splitPaneAlgorithm;
    protected javax.swing.JButton startSimulationToolBarButton;
    protected javax.swing.JLabel stepLineResultLabel;
    protected javax.swing.JTextField stepLineResultTextField;
    protected javax.swing.JLabel stepResultLabel;
    protected javax.swing.JTextField stepResultTextField;
    protected javax.swing.JTabbedPane tabbedPane;
    protected javax.swing.JTable table;
    protected javax.swing.JToolBar toolBar;
    protected javax.swing.JPanel toolBarPanel;
    protected javax.swing.JTree tree;
    // End of variables declaration//GEN-END:variables

}
